這篇為進階語法包含邏輯判斷、邏輯判斷、重複迴圈、例外處理的用法,以及break和continue、安裝與匯入模組的詳細介紹。
首先先介紹寫程式中經常使用的註解,註解是在程式碼中「不會被執行的文字」。
Python中用「#」做為單行註解,用「三個雙引號 """ 或三個單引號 '''」做多行註解。
# 井字號後面可以寫一行的註解
'''
這裡是多行註解,
不影響程式執行的結果。
'''
print('Hello, World!') # 單行註解也可以寫在程式碼後方
使用if 條件對應的程式需使用「縮排」,如果判斷為 True,就會執行對應的程式,反之如果是 False,就會跳過判斷式,繼續執行下方的程式。
if和elif為各自對應的True結果執行對應的程式,而else對應結果為False的程式。
a = 2
b = 3
if a>b:
print('a>b') # 不會印出
elif a<b:
print('a<b') # a<b
else:
print('a=b') # 不會印出
print('ok') # ok
如果遇到「不想執行任何動作」的狀況,可以使用「pass」作為空式子可保持語法的正確性。
a = 2
b = 3
if a>b:
pass # 不做任何動作
elif a<b:
print('a<b') # a<b
else:
print('a=b') # 不會印出
print('ok') # ok
以下三點介紹and以及or的差別:
a = 1
b = 2
c = 3
if a<b and a<c:
print('ok1') # 顯示 ok1
if a<b or a>c:
print('ok2') # 顯示 ok2
如果同時有 and 和 or,則會先判斷 and,然後再接著從左向右判斷:
a = 2
b = 3
c = 0
if a>b or a<c or a==2 and b==4:
print('ok1')
else:
print('XXX') # 印出 XXX
「for 迴圈」 的使用的方法為「for 變數 in 可迭代的物件:」,執行之後,for 迴圈會依序將可以迭代的物件取出,賦值給指定的變數。
for i in 'abc':
print(i) # a b c ( 字串 )
for i in ['a','b','c']:
print(i) # a b c ( 串列 )
for i in {'a','b','c'}:
print(i) # c b a ( 集合 )
for i in {'a':1,'b':2,'c':3}:
print(i) # a b c ( 字典 )
若為巢狀迴圈(多層重複迴圈)會先從「最內層」的迴圈開始執行,執行完畢後再執行外層的迴圈
for a in ['x','y','z']:
for b in [1,2,3]:
print(b)
print(a)
# 1 2 3 x 1 2 3 y 1 2 3 z
若搭配文字的格式化,就能利用巢狀迴圈做出結合的效果:
for a in ['x','y','z']:
for b in [1,2,3]:
print(f'{a}{b}')
# x1 x2 x3 y1 y2 y3 z1 z2 z3
「while 迴圈」 是「根據條件判斷,決定是否重複或停止」的迴圈,用法為「while 條件:」,如果條件判斷為 True,就會不斷執行迴圈內容,如果判斷為 False,就會停止迴圈。
a = 1
while a<=5:
print(a)
a += 1
# 1 2 3 4 5
在使用迴圈的過程中可以使用「break 中斷」和「continue 跳出」兩個方法來「停止迴圈」。
break 和 continue 的差別在於 break 會將整個迴圈停止,而 continue 是將迴圈目前執行的程式停止,然後再次執行迴圈,下圖為兩者的執行差異。
圖片來源:STEAM教育學習網
「break 中斷」
以下範例因為內層迴圈使用了break,碰到 b 為 1 的時候就會停止,就看不見 2 和 3。
for a in ['x','y','z']:
for b in [1,2,3]:
if(b==2):
break
print(f'{a}{b}')
print('ok')
# x1 y1 z1 ok
「continue 跳出」
以下範例因為使用 continue,則會略過 b 為 2 的部分,直接跳到 b 為 3 的部分。
for a in ['x','y','z']:
for b in [1,2,3]:
if(b==2):
continue
print(f'{a}{b}')
print('ok')
# x1 x3 y1 y3 z1 z3 ok
有時候執行程式會發生「TypeError」的錯誤 ( 因為輸入的是文字,文字無法和數字相加 ),也因為發生錯誤,進而造成程式停止,後方程式無法正常執行。
如下範例會發生錯誤導致程式停止
a = input('輸入數字:')
print(a + 1) # 發生錯誤
print('hello') # 因為發生錯誤,造成程式停止,所以後方程式無法執行
#輸入數字: 1
#TypeError
若要避免程式因錯誤而停止,可使用 try 和 except 進行保護(或測試),當 try 區段內的程式發生錯誤時,就會執行 except 裡的內容,如果 try 的程式沒有錯誤,就不會執行 except 的內容
try: # 使用 try,測試內容是否正確
a = input('輸入數字:')
print(a + 1)
except: # 如果 try 的內容發生錯誤,就執行 except 裡的內容
print('發生錯誤')
print('hello')
#輸入數字: 1
#發生錯誤
#hello
加入 pass 略過
使用 try... except 有時候會遇到「不想做任何動作」的狀況(也不想輸出文字訊息),這時可以使用pass 語法來略過。
try: # 使用 try,測試內容是否正確
a = input('輸入數字:')
print(a + 1)
except: # 如果 try 的內容發生錯誤,就執行 except 裡的內容
pass # 略過
print('hello')
pip是一個Python安裝管理套件工具,使用pip來安裝或是更新套件,需pip安裝第三方套件後才可以在撰寫程式中來import使用
pip -V #查看pip的版本,及對應的python版本
pip install -U pip #更新pip
pip list #列出所有安裝哪些套件
pip search package #搜尋相關套件
pip install package #安裝套件
pip uninstall package #移除套件
pip install --upgrade package #升級套件
Python的程式碼也可以當作模組使用,透過import陳述式,可引用其他模組的程式碼,進一步使用其他模組的程式和變數。
from datetime import date
print(date.today()) # 2021-10-18
import datetime as dd
print(dd.datetime.now()) # 2021-10-18 06:39:48.998396
print(dd.date.today()) # 2021-10-18
<ok.py>
def talk(msg):
print(msg)
<main.py>
import ok
ok.talk('hi') # hi
明天來介紹超方便快速的線上編輯器Google Colab ~